package linkedListCycle;




public class Solution {
	  class ListNode {
	      int val;
	      ListNode next;
	      ListNode(int x) {
	          val = x;
	          next = null;
	      }
	  }
    public boolean hasCycle(ListNode head) {
    	ListNode fast,slow;
    	if ((head==null)||(head.next==null)) return false;
    	fast=head.next;
    	slow=head;
    	while (fast!=slow){
    		if ((fast==null)||(fast.next==null)) return false;
    		fast=fast.next.next;
    		slow=slow.next;	
    	}
    	return true;
    }
}
/* 141. Linked List Cycle
 * 题目大意：给定一个单链表，已O(1)的空间代价判定是否存在环
 * 解：双指针，一个一次走一步，一个两次走两步
 * 显然可证若存在环，双指针必存在相等情况
 * 得解。。
 */

    